<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Themeable Stock Images: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="DeprecatedObjects.html" title="Deprecated">
<link rel="prev" href="gtk3-Stock-Items.html" title="Stock Items">
<link rel="next" href="GtkNumerableIcon.html" title="GtkNumerableIcon">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gtk3-Themeable-Stock-Images.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#gtk3-Themeable-Stock-Images.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#gtk3-Themeable-Stock-Images.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="DeprecatedObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gtk3-Stock-Items.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkNumerableIcon.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gtk3-Themeable-Stock-Images"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gtk3-Themeable-Stock-Images.top_of_page"></a>Themeable Stock Images</span></h2>
<p>Themeable Stock Images — Manipulating stock icons</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="returnvalue">GtkIconSource</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-copy" title="gtk_icon_source_copy ()">gtk_icon_source_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-free" title="gtk_icon_source_free ()">gtk_icon_source_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add" title="gtk_icon_factory_add ()">gtk_icon_factory_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add-default" title="gtk_icon_factory_add_default ()">gtk_icon_factory_add_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-lookup" title="gtk_icon_factory_lookup ()">gtk_icon_factory_lookup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-lookup-default" title="gtk_icon_factory_lookup_default ()">gtk_icon_factory_lookup_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="returnvalue">GtkIconFactory</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-new" title="gtk_icon_factory_new ()">gtk_icon_factory_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-remove-default" title="gtk_icon_factory_remove_default ()">gtk_icon_factory_remove_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-add-source" title="gtk_icon_set_add_source ()">gtk_icon_set_add_source</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-copy" title="gtk_icon_set_copy ()">gtk_icon_set_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-new" title="gtk_icon_set_new ()">gtk_icon_set_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-new-from-pixbuf" title="gtk_icon_set_new_from_pixbuf ()">gtk_icon_set_new_from_pixbuf</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-ref" title="gtk_icon_set_ref ()">gtk_icon_set_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GdkPixbuf</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-render-icon" title="gtk_icon_set_render_icon ()">gtk_icon_set_render_icon</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GdkPixbuf</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-render-icon-pixbuf" title="gtk_icon_set_render_icon_pixbuf ()">gtk_icon_set_render_icon_pixbuf</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-render-icon-surface" title="gtk_icon_set_render_icon_surface ()">gtk_icon_set_render_icon_surface</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-unref" title="gtk_icon_set_unref ()">gtk_icon_set_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-lookup" title="gtk_icon_size_lookup ()">gtk_icon_size_lookup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-lookup-for-settings" title="gtk_icon_size_lookup_for_settings ()">gtk_icon_size_lookup_for_settings</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-register" title="gtk_icon_size_register ()">gtk_icon_size_register</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-register-alias" title="gtk_icon_size_register_alias ()">gtk_icon_size_register_alias</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-from-name" title="gtk_icon_size_from_name ()">gtk_icon_size_from_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-get-name" title="gtk_icon_size_get_name ()">gtk_icon_size_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-get-sizes" title="gtk_icon_set_get_sizes ()">gtk_icon_set_get_sizes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-direction" title="gtk_icon_source_get_direction ()">gtk_icon_source_get_direction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-direction-wildcarded" title="gtk_icon_source_get_direction_wildcarded ()">gtk_icon_source_get_direction_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-filename" title="gtk_icon_source_get_filename ()">gtk_icon_source_get_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GdkPixbuf</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-pixbuf" title="gtk_icon_source_get_pixbuf ()">gtk_icon_source_get_pixbuf</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-icon-name" title="gtk_icon_source_get_icon_name ()">gtk_icon_source_get_icon_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-size" title="gtk_icon_source_get_size ()">gtk_icon_source_get_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-size-wildcarded" title="gtk_icon_source_get_size_wildcarded ()">gtk_icon_source_get_size_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="returnvalue">GtkStateType</span></a>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-state" title="gtk_icon_source_get_state ()">gtk_icon_source_get_state</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-get-state-wildcarded" title="gtk_icon_source_get_state_wildcarded ()">gtk_icon_source_get_state_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="returnvalue">GtkIconSource</span></a> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-new" title="gtk_icon_source_new ()">gtk_icon_source_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-direction" title="gtk_icon_source_set_direction ()">gtk_icon_source_set_direction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-direction-wildcarded" title="gtk_icon_source_set_direction_wildcarded ()">gtk_icon_source_set_direction_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-filename" title="gtk_icon_source_set_filename ()">gtk_icon_source_set_filename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-pixbuf" title="gtk_icon_source_set_pixbuf ()">gtk_icon_source_set_pixbuf</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-icon-name" title="gtk_icon_source_set_icon_name ()">gtk_icon_source_set_icon_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-size" title="gtk_icon_source_set_size ()">gtk_icon_source_set_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-size-wildcarded" title="gtk_icon_source_set_size_wildcarded ()">gtk_icon_source_set_size_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-state" title="gtk_icon_source_set_state ()">gtk_icon_source_set_state</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-state-wildcarded" title="gtk_icon_source_set_state_wildcarded ()">gtk_icon_source_set_state_wildcarded</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GtkIconFactory"></a><a name="GtkIconSet"></a><div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource">GtkIconSource</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory-struct" title="struct GtkIconFactory">GtkIconFactory</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactoryClass" title="struct GtkIconFactoryClass">GtkIconFactoryClass</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet-struct" title="GtkIconSet">GtkIconSet</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize">GtkIconSize</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
    <span class="lineart">╰──</span> GtkIconSet
    GObject
    <span class="lineart">╰──</span> GtkIconFactory
</pre>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkIconFactory implements
 <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.description"></a><h2>Description</h2>
<p>An icon factory manages a collection of <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>; a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> manages a
set of variants of a particular icon (i.e. a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> contains variants for
different sizes and widget states). Icons in an icon factory are named by a
stock ID, which is a simple string identifying the icon. Each <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> has a
list of <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> derived from the current theme; those icon factories
are consulted first when searching for an icon. If the theme doesn’t set a
particular icon, GTK+ looks for the icon in a list of default icon factories,
maintained by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add-default" title="gtk_icon_factory_add_default ()"><code class="function">gtk_icon_factory_add_default()</code></a> and
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-remove-default" title="gtk_icon_factory_remove_default ()"><code class="function">gtk_icon_factory_remove_default()</code></a>. Applications with icons should add a default
icon factory with their icons, which will allow themes to override the icons
for the application.</p>
<p>To display an icon, always use <a class="link" href="GtkStyle.html#gtk-style-lookup-icon-set" title="gtk_style_lookup_icon_set ()"><code class="function">gtk_style_lookup_icon_set()</code></a> on the widget that
will display the icon, or the convenience function
<a class="link" href="GtkWidget.html#gtk-widget-render-icon" title="gtk_widget_render_icon ()"><code class="function">gtk_widget_render_icon()</code></a>. These functions take the theme into account when
looking up the icon to use for a given stock ID.</p>
<div class="refsect2">
<a name="GtkIconFactory-BUILDER-UI"></a><h3>GtkIconFactory as GtkBuildable</h3>
<p>GtkIconFactory supports a custom &lt;sources&gt; element, which can contain
multiple &lt;source&gt; elements. The following attributes are allowed:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>stock-id</p>
<p>The stock id of the source, a string. This attribute is
mandatory</p>
</li>
<li class="listitem">
<p>filename</p>
<p>The filename of the source, a string.  This attribute is
optional</p>
</li>
<li class="listitem">
<p>icon-name</p>
<p>The icon name for the source, a string.  This attribute is
optional.</p>
</li>
<li class="listitem">
<p>size</p>
<p>Size of the icon, a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> enum value.  This attribute is
optional.</p>
</li>
<li class="listitem">
<p>direction</p>
<p>Direction of the source, a <a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> enum value.  This
attribute is optional.</p>
</li>
<li class="listitem">
<p>state</p>
<p>State of the source, a <a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> enum value.  This
attribute is optional.</p>
</li>
</ul></div>
<div class="refsect3">
<a name="id-1.3.25.35.10.4.4"></a><h4>A <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> UI definition fragment.</h4>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="o">&lt;</span><span class="n">object</span> <span class="n">class</span><span class="o">=</span><span class="s">&quot;GtkIconFactory&quot;</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;iconfactory1&quot;</span><span class="o">&gt;</span>
  <span class="o">&lt;</span><span class="n">sources</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">source</span> <span class="n">stock</span><span class="o">-</span><span class="n">id</span><span class="o">=</span><span class="s">&quot;apple-red&quot;</span> <span class="n">filename</span><span class="o">=</span><span class="s">&quot;apple-red.png&quot;</span><span class="o">/&gt;</span>
  <span class="o">&lt;/</span><span class="n">sources</span><span class="o">&gt;</span>
<span class="o">&lt;/</span><span class="n">object</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">object</span> <span class="n">class</span><span class="o">=</span><span class="s">&quot;GtkWindow&quot;</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;window1&quot;</span><span class="o">&gt;</span>
  <span class="o">&lt;</span><span class="n">child</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">object</span> <span class="n">class</span><span class="o">=</span><span class="s">&quot;GtkButton&quot;</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;apple_button&quot;</span><span class="o">&gt;</span>
      <span class="o">&lt;</span><span class="n">property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;label&quot;</span><span class="o">&gt;</span><span class="n">apple</span><span class="o">-</span><span class="n">red</span><span class="o">&lt;/</span><span class="n">property</span><span class="o">&gt;</span>
      <span class="o">&lt;</span><span class="n">property</span> <span class="n">name</span><span class="o">=</span><span class="s">&quot;use-stock&quot;</span><span class="o">&gt;</span><span class="n">True</span><span class="o">&lt;/</span><span class="n">property</span><span class="o">&gt;</span>
    <span class="o">&lt;/</span><span class="n">object</span><span class="o">&gt;</span>
  <span class="o">&lt;/</span><span class="n">child</span><span class="o">&gt;</span>
<span class="o">&lt;/</span><span class="n">object</span><span class="o">&gt;</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
</div>
</div>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-icon-source-copy"></a><h3>gtk_icon_source_copy ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="returnvalue">GtkIconSource</span></a> *
gtk_icon_source_copy (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_copy</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Creates a copy of <em class="parameter"><code>source</code></em>
; mostly useful for language bindings.</p>
<div class="refsect3">
<a name="gtk-icon-source-copy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-copy.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-free"></a><h3>gtk_icon_source_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_free (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_free</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Frees a dynamically-allocated icon source, along with its
filename, size, and pixbuf fields if those are not <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="gtk-icon-source-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-add"></a><h3>gtk_icon_factory_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_factory_add (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> *factory</code></em>,
                      <em class="parameter"><code>const <span class="type">gchar</span> *stock_id</code></em>,
                      <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_add</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Adds the given <em class="parameter"><code>icon_set</code></em>
 to the icon factory, under the name
<em class="parameter"><code>stock_id</code></em>
.  <em class="parameter"><code>stock_id</code></em>
 should be namespaced for your application,
e.g. “myapp-whatever-icon”.  Normally applications create a
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a>, then add it to the list of default factories with
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add-default" title="gtk_icon_factory_add_default ()"><code class="function">gtk_icon_factory_add_default()</code></a>. Then they pass the <em class="parameter"><code>stock_id</code></em>
 to
widgets such as <a class="link" href="GtkImage.html" title="GtkImage"><span class="type">GtkImage</span></a> to display the icon. Themes can provide
an icon with the same name (such as "myapp-whatever-icon") to
override your application’s default icons. If an icon already
existed in <em class="parameter"><code>factory</code></em>
 for <em class="parameter"><code>stock_id</code></em>
, it is unreferenced and replaced
with the new <em class="parameter"><code>icon_set</code></em>
.</p>
<div class="refsect3">
<a name="gtk-icon-factory-add.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>stock_id</p></td>
<td class="parameter_description"><p>icon name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>icon set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-add-default"></a><h3>gtk_icon_factory_add_default ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_factory_add_default (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> *factory</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_add_default</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Adds an icon factory to the list of icon factories searched by
<a class="link" href="GtkStyle.html#gtk-style-lookup-icon-set" title="gtk_style_lookup_icon_set ()"><code class="function">gtk_style_lookup_icon_set()</code></a>. This means that, for example,
<a class="link" href="GtkImage.html#gtk-image-new-from-stock" title="gtk_image_new_from_stock ()"><code class="function">gtk_image_new_from_stock()</code></a> will be able to find icons in <em class="parameter"><code>factory</code></em>
.
There will normally be an icon factory added for each library or
application that comes with icons. The default icon factories
can be overridden by themes.</p>
<div class="refsect3">
<a name="gtk-icon-factory-add-default.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-lookup"></a><h3>gtk_icon_factory_lookup ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_factory_lookup (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> *factory</code></em>,
                         <em class="parameter"><code>const <span class="type">gchar</span> *stock_id</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_lookup</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Looks up <em class="parameter"><code>stock_id</code></em>
 in the icon factory, returning an icon set
if found, otherwise <code class="literal">NULL</code>. For display to the user, you should
use <a class="link" href="GtkStyle.html#gtk-style-lookup-icon-set" title="gtk_style_lookup_icon_set ()"><code class="function">gtk_style_lookup_icon_set()</code></a> on the <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> for the
widget that will display the icon, instead of using this
function directly, so that themes are taken into account.</p>
<div class="refsect3">
<a name="gtk-icon-factory-lookup.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>stock_id</p></td>
<td class="parameter_description"><p>an icon name</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-factory-lookup.returns"></a><h4>Returns</h4>
<p>icon set of <em class="parameter"><code>stock_id</code></em>
. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-lookup-default"></a><h3>gtk_icon_factory_lookup_default ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_factory_lookup_default (<em class="parameter"><code>const <span class="type">gchar</span> *stock_id</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_lookup_default</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Looks for an icon in the list of default icon factories.  For
display to the user, you should use <a class="link" href="GtkStyle.html#gtk-style-lookup-icon-set" title="gtk_style_lookup_icon_set ()"><code class="function">gtk_style_lookup_icon_set()</code></a> on
the <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> for the widget that will display the icon, instead of
using this function directly, so that themes are taken into
account.</p>
<div class="refsect3">
<a name="gtk-icon-factory-lookup-default.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>stock_id</p></td>
<td class="parameter_description"><p>an icon name</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-factory-lookup-default.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-new"></a><h3>gtk_icon_factory_new ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="returnvalue">GtkIconFactory</span></a> *
gtk_icon_factory_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_new</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Creates a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a>. An icon factory manages a collection
of <a href="gtk3-Themeable-Stock-Images.html#GtkIconSet-struct"><span class="type">GtkIconSets</span></a>; a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> manages a set of variants of a
particular icon (i.e. a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> contains variants for different
sizes and widget states). Icons in an icon factory are named by a
stock ID, which is a simple string identifying the icon. Each
<a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> has a list of <a href="gtk3-Themeable-Stock-Images.html#GtkIconFactory-struct"><span class="type">GtkIconFactorys</span></a> derived from the current
theme; those icon factories are consulted first when searching for
an icon. If the theme doesn’t set a particular icon, GTK+ looks for
the icon in a list of default icon factories, maintained by
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add-default" title="gtk_icon_factory_add_default ()"><code class="function">gtk_icon_factory_add_default()</code></a> and
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-remove-default" title="gtk_icon_factory_remove_default ()"><code class="function">gtk_icon_factory_remove_default()</code></a>. Applications with icons should
add a default icon factory with their icons, which will allow
themes to override the icons for the application.</p>
<div class="refsect3">
<a name="gtk-icon-factory-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-factory-remove-default"></a><h3>gtk_icon_factory_remove_default ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_factory_remove_default (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> *factory</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_factory_remove_default</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Removes an icon factory from the list of default icon
factories. Not normally used; you might use it for a library that
can be unloaded or shut down.</p>
<div class="refsect3">
<a name="gtk-icon-factory-remove-default.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>factory</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a> previously added with <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-factory-add-default" title="gtk_icon_factory_add_default ()"><code class="function">gtk_icon_factory_add_default()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-add-source"></a><h3>gtk_icon_set_add_source ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_set_add_source (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>,
                         <em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_add_source</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Icon sets have a list of <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a>, which they use as base
icons for rendering icons in different states and sizes. Icons are
scaled, made to look insensitive, etc. in
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-render-icon" title="gtk_icon_set_render_icon ()"><code class="function">gtk_icon_set_render_icon()</code></a>, but <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> needs base images to
work with. The base images and when to use them are described by
a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a>.</p>
<p>This function copies <em class="parameter"><code>source</code></em>
, so you can reuse the same source immediately
without affecting the icon set.</p>
<p>An example of when you’d use this function: a web browser’s "Back
to Previous Page" icon might point in a different direction in
Hebrew and in English; it might look different when insensitive;
and it might change size depending on toolbar mode (small/large
icons). So a single icon set would contain all those variants of
the icon, and you might add a separate source for each one.</p>
<p>You should nearly always add a “default” icon source with all
fields wildcarded, which will be used as a fallback if no more
specific source matches. <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> always prefers more specific
icon sources to more generic icon sources. The order in which you
add the sources to the icon set does not matter.</p>
<p>gtk_icon_set_new_from_pixbuf() creates a new icon set with a
default icon source based on the given pixbuf.</p>
<div class="refsect3">
<a name="gtk-icon-set-add-source.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-copy"></a><h3>gtk_icon_set_copy ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_set_copy (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_copy</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Copies <em class="parameter"><code>icon_set</code></em>
 by value.</p>
<div class="refsect3">
<a name="gtk-icon-set-copy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-copy.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> identical to the first.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-new"></a><h3>gtk_icon_set_new ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_set_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_new</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Creates a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>. A <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> represents a single icon
in various sizes and widget states. It can provide a <span class="type">GdkPixbuf</span>
for a given size and state on request, and automatically caches
some of the rendered <span class="type">GdkPixbuf</span> objects.</p>
<p>Normally you would use <a class="link" href="GtkWidget.html#gtk-widget-render-icon-pixbuf" title="gtk_widget_render_icon_pixbuf ()"><code class="function">gtk_widget_render_icon_pixbuf()</code></a> instead of
using <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> directly. The one case where you’d use
<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> is to create application-specific icon sets to place in
a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory"><span class="type">GtkIconFactory</span></a>.</p>
<div class="refsect3">
<a name="gtk-icon-set-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-new-from-pixbuf"></a><h3>gtk_icon_set_new_from_pixbuf ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_set_new_from_pixbuf (<em class="parameter"><code><span class="type">GdkPixbuf</span> *pixbuf</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_new_from_pixbuf</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Creates a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> with <em class="parameter"><code>pixbuf</code></em>
 as the default/fallback
source image. If you don’t add any additional <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> to the
icon set, all variants of the icon will be created from <em class="parameter"><code>pixbuf</code></em>
,
using scaling, pixelation, etc. as required to adjust the icon size
or make the icon look insensitive/prelighted.</p>
<div class="refsect3">
<a name="gtk-icon-set-new-from-pixbuf.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>pixbuf</p></td>
<td class="parameter_description"><p>a <span class="type">GdkPixbuf</span></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-new-from-pixbuf.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-ref"></a><h3>gtk_icon_set_ref ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="returnvalue">GtkIconSet</span></a> *
gtk_icon_set_ref (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_ref</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Increments the reference count on <em class="parameter"><code>icon_set</code></em>
.</p>
<div class="refsect3">
<a name="gtk-icon-set-ref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-ref.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>icon_set</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-render-icon"></a><h3>gtk_icon_set_render_icon ()</h3>
<pre class="programlisting"><span class="returnvalue">GdkPixbuf</span> *
gtk_icon_set_render_icon (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>,
                          <em class="parameter"><code><a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> *style</code></em>,
                          <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> direction</code></em>,
                          <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>,
                          <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>,
                          <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>,
                          <em class="parameter"><code>const <span class="type">gchar</span> *detail</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_render_icon</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-render-icon-pixbuf" title="gtk_icon_set_render_icon_pixbuf ()"><code class="function">gtk_icon_set_render_icon_pixbuf()</code></a> instead</p>
</div>
<p>Renders an icon using <a class="link" href="GtkStyle.html#gtk-style-render-icon" title="gtk_style_render_icon ()"><code class="function">gtk_style_render_icon()</code></a>. In most cases,
<a class="link" href="GtkWidget.html#gtk-widget-render-icon" title="gtk_widget_render_icon ()"><code class="function">gtk_widget_render_icon()</code></a> is better, since it automatically provides
most of the arguments from the current widget settings.  This
function never returns <code class="literal">NULL</code>; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.</p>
<div class="refsect3">
<a name="gtk-icon-set-render-icon.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>style</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> associated with <em class="parameter"><code>widget</code></em>
, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description"><p>text direction</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>widget state</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). A size of <code class="literal">(GtkIconSize)-1</code>
means render at the size of the source and don’t scale. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>widget that will display the icon, or <code class="literal">NULL</code>.
The only use that is typically made of this
is to determine the appropriate <span class="type">GdkScreen</span>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>detail</p></td>
<td class="parameter_description"><p>detail to pass to the theme engine, or <code class="literal">NULL</code>.
Note that passing a detail of anything but <code class="literal">NULL</code>
will disable caching. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-render-icon.returns"></a><h4>Returns</h4>
<p>a <span class="type">GdkPixbuf</span> to be displayed. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-render-icon-pixbuf"></a><h3>gtk_icon_set_render_icon_pixbuf ()</h3>
<pre class="programlisting"><span class="returnvalue">GdkPixbuf</span> *
gtk_icon_set_render_icon_pixbuf (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>,
                                 <em class="parameter"><code><a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> *context</code></em>,
                                 <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_render_icon_pixbuf</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Renders an icon using <a class="link" href="GtkStyleContext.html#gtk-render-icon-pixbuf" title="gtk_render_icon_pixbuf ()"><code class="function">gtk_render_icon_pixbuf()</code></a>. In most cases,
<a class="link" href="GtkWidget.html#gtk-widget-render-icon-pixbuf" title="gtk_widget_render_icon_pixbuf ()"><code class="function">gtk_widget_render_icon_pixbuf()</code></a> is better, since it automatically provides
most of the arguments from the current widget settings.  This
function never returns <code class="literal">NULL</code>; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.</p>
<div class="refsect3">
<a name="gtk-icon-set-render-icon-pixbuf.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). A size of <code class="literal">(GtkIconSize)-1</code>
means render at the size of the source and don’t scale. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-render-icon-pixbuf.returns"></a><h4>Returns</h4>
<p>a <span class="type">GdkPixbuf</span> to be displayed. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-render-icon-surface"></a><h3>gtk_icon_set_render_icon_surface ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="returnvalue">cairo_surface_t</span></a> *
gtk_icon_set_render_icon_surface (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>,
                                  <em class="parameter"><code><a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a> *context</code></em>,
                                  <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>,
                                  <em class="parameter"><code><span class="type">int</span> scale</code></em>,
                                  <em class="parameter"><code><span class="type">GdkWindow</span> *for_window</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_render_icon_surface</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Renders an icon using <a class="link" href="GtkStyleContext.html#gtk-render-icon-pixbuf" title="gtk_render_icon_pixbuf ()"><code class="function">gtk_render_icon_pixbuf()</code></a> and converts it to a
cairo surface. </p>
<p>This function never returns <code class="literal">NULL</code>; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.</p>
<div class="refsect3">
<a name="gtk-icon-set-render-icon-surface.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkStyleContext.html" title="GtkStyleContext"><span class="type">GtkStyleContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). A size of <code class="literal">(GtkIconSize)-1</code>
means render at the size of the source and don’t scale. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>scale</p></td>
<td class="parameter_description"><p>the window scale to render for</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>for_window</p></td>
<td class="parameter_description"><p><span class="type">GdkWindow</span> to optimize drawing for, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-set-render-icon-surface.returns"></a><h4>Returns</h4>
<p>a <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> to be displayed. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-10.html#api-index-3.10">3.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-unref"></a><h3>gtk_icon_set_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_set_unref (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_unref</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Decrements the reference count on <em class="parameter"><code>icon_set</code></em>
, and frees memory
if the reference count reaches 0.</p>
<div class="refsect3">
<a name="gtk-icon-set-unref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-lookup"></a><h3>gtk_icon_size_lookup ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_icon_size_lookup (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>,
                      <em class="parameter"><code><span class="type">gint</span> *width</code></em>,
                      <em class="parameter"><code><span class="type">gint</span> *height</code></em>);</pre>
<p>Obtains the pixel size of a semantic icon size <em class="parameter"><code>size</code></em>
:
<a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-MENU:CAPS"><span class="type">GTK_ICON_SIZE_MENU</span></a>, <a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-BUTTON:CAPS"><span class="type">GTK_ICON_SIZE_BUTTON</span></a>, etc.  This function
isn’t normally needed, <a class="link" href="GtkIconTheme.html#gtk-icon-theme-load-icon" title="gtk_icon_theme_load_icon ()"><code class="function">gtk_icon_theme_load_icon()</code></a> is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-lookup" title="gtk_icon_size_lookup ()"><code class="function">gtk_icon_size_lookup()</code></a>, because themes
are free to render the pixbuf however they like, including changing
the usual size.</p>
<div class="refsect3">
<a name="gtk-icon-size-lookup.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>an icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>location to store icon width. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>location to store icon height. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-size-lookup.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>size</code></em>
was a valid size</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-lookup-for-settings"></a><h3>gtk_icon_size_lookup_for_settings ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_icon_size_lookup_for_settings (<em class="parameter"><code><a class="link" href="GtkSettings.html" title="Settings"><span class="type">GtkSettings</span></a> *settings</code></em>,
                                   <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>,
                                   <em class="parameter"><code><span class="type">gint</span> *width</code></em>,
                                   <em class="parameter"><code><span class="type">gint</span> *height</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_size_lookup_for_settings</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-lookup" title="gtk_icon_size_lookup ()"><code class="function">gtk_icon_size_lookup()</code></a> instead.</p>
</div>
<p>Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for a particular
<a class="link" href="GtkSettings.html" title="Settings"><span class="type">GtkSettings</span></a>. Normally <em class="parameter"><code>size</code></em>
 would be
<a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-MENU:CAPS"><span class="type">GTK_ICON_SIZE_MENU</span></a>, <a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-BUTTON:CAPS"><span class="type">GTK_ICON_SIZE_BUTTON</span></a>, etc.  This function
isn’t normally needed, <a class="link" href="GtkWidget.html#gtk-widget-render-icon-pixbuf" title="gtk_widget_render_icon_pixbuf ()"><code class="function">gtk_widget_render_icon_pixbuf()</code></a> is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-lookup" title="gtk_icon_size_lookup ()"><code class="function">gtk_icon_size_lookup()</code></a>, because themes
are free to render the pixbuf however they like, including changing
the usual size.</p>
<div class="refsect3">
<a name="gtk-icon-size-lookup-for-settings.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>settings</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkSettings.html" title="Settings"><span class="type">GtkSettings</span></a> object, used to determine
which set of user preferences to used.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>an icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>location to store icon width. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>location to store icon height. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-size-lookup-for-settings.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>size</code></em>
was a valid size</p>
</div>
<p class="since">Since: 2.2</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-register"></a><h3>gtk_icon_size_register ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
gtk_icon_size_register (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> width</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> height</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_size_register</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Registers a new icon size, along the same lines as <a class="link" href="gtk3-Themeable-Stock-Images.html#GTK-ICON-SIZE-MENU:CAPS"><span class="type">GTK_ICON_SIZE_MENU</span></a>,
etc. Returns the integer value for the size.</p>
<div class="refsect3">
<a name="gtk-icon-size-register.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of the icon size</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>the icon width</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>the icon height</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-size-register.returns"></a><h4>Returns</h4>
<p>integer value representing the size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-register-alias"></a><h3>gtk_icon_size_register_alias ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_size_register_alias (<em class="parameter"><code>const <span class="type">gchar</span> *alias</code></em>,
                              <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> target</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_size_register_alias</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Registers <em class="parameter"><code>alias</code></em>
 as another name for <em class="parameter"><code>target</code></em>
.
So calling <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-size-from-name" title="gtk_icon_size_from_name ()"><code class="function">gtk_icon_size_from_name()</code></a> with <em class="parameter"><code>alias</code></em>
 as argument
will return <em class="parameter"><code>target</code></em>
.</p>
<div class="refsect3">
<a name="gtk-icon-size-register-alias.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>alias</p></td>
<td class="parameter_description"><p>an alias for <em class="parameter"><code>target</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>an existing icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-from-name"></a><h3>gtk_icon_size_from_name ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
gtk_icon_size_from_name (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_size_from_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Looks up the icon size associated with <em class="parameter"><code>name</code></em>
.</p>
<div class="refsect3">
<a name="gtk-icon-size-from-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the name to look up.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-size-from-name.returns"></a><h4>Returns</h4>
<p>the icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-size-get-name"></a><h3>gtk_icon_size_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gtk_icon_size_get_name (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_size_get_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Gets the canonical name of the given icon size. The returned string
is statically allocated and should not be freed.</p>
<div class="refsect3">
<a name="gtk-icon-size-get-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-size-get-name.returns"></a><h4>Returns</h4>
<p> the name of the given icon size.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-set-get-sizes"></a><h3>gtk_icon_set_get_sizes ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_set_get_sizes (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> *icon_set</code></em>,
                        <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> **sizes</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> *n_sizes</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_set_get_sizes</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Obtains a list of icon sizes this icon set can render. The returned
array must be freed with <code class="function">g_free()</code>.</p>
<div class="refsect3">
<a name="gtk-icon-set-get-sizes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>icon_set</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sizes</p></td>
<td class="parameter_description"><p>return location
for array of sizes (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_sizes][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>n_sizes</p></td>
<td class="parameter_description"><p>location to store number of elements in returned array</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-direction"></a><h3>gtk_icon_source_get_direction ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="returnvalue">GtkTextDirection</span></a>
gtk_icon_source_get_direction (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_direction</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Obtains the text direction this icon source applies to. The return
value is only useful/meaningful if the text direction is not
wildcarded.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-direction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-direction.returns"></a><h4>Returns</h4>
<p> text direction this source matches</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-direction-wildcarded"></a><h3>gtk_icon_source_get_direction_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_icon_source_get_direction_wildcarded
                               (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_direction_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Gets the value set by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-direction-wildcarded" title="gtk_icon_source_set_direction_wildcarded ()"><code class="function">gtk_icon_source_set_direction_wildcarded()</code></a>.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-direction-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-direction-wildcarded.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if this icon source is a base for any text direction variant</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-filename"></a><h3>gtk_icon_source_get_filename ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gtk_icon_source_get_filename (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_filename</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Retrieves the source filename, or <code class="literal">NULL</code> if none is set. The
filename is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-filename.returns"></a><h4>Returns</h4>
<p>image filename. This string must not
be modified or freed. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-pixbuf"></a><h3>gtk_icon_source_get_pixbuf ()</h3>
<pre class="programlisting"><span class="returnvalue">GdkPixbuf</span> *
gtk_icon_source_get_pixbuf (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_pixbuf</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Retrieves the source pixbuf, or <code class="literal">NULL</code> if none is set.
In addition, if a filename source is in use, this
function in some cases will return the pixbuf from
loaded from the filename. This is, for example, true
for the GtkIconSource passed to the <a class="link" href="GtkStyle.html" title="GtkStyle"><span class="type">GtkStyle</span></a> <code class="function">render_icon()</code>
virtual function. The reference count on the pixbuf is
not incremented.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-pixbuf.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-pixbuf.returns"></a><h4>Returns</h4>
<p>source pixbuf. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-icon-name"></a><h3>gtk_icon_source_get_icon_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gtk_icon_source_get_icon_name (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_icon_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Retrieves the source icon name, or <code class="literal">NULL</code> if none is set. The
icon_name is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-icon-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-icon-name.returns"></a><h4>Returns</h4>
<p> icon name. This string must not be modified or freed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-size"></a><h3>gtk_icon_source_get_size ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="returnvalue">GtkIconSize</span></a>
gtk_icon_source_get_size (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_size</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Obtains the icon size this source applies to. The return value
is only useful/meaningful if the icon size is not wildcarded.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-size.returns"></a><h4>Returns</h4>
<p>icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>) this source matches. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-size-wildcarded"></a><h3>gtk_icon_source_get_size_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_icon_source_get_size_wildcarded (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_size_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Gets the value set by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-size-wildcarded" title="gtk_icon_source_set_size_wildcarded ()"><code class="function">gtk_icon_source_set_size_wildcarded()</code></a>.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-size-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-size-wildcarded.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if this icon source is a base for any icon size variant</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-state"></a><h3>gtk_icon_source_get_state ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="returnvalue">GtkStateType</span></a>
gtk_icon_source_get_state (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_state</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Obtains the widget state this icon source applies to. The return
value is only useful/meaningful if the widget state is not
wildcarded.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-state.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-state.returns"></a><h4>Returns</h4>
<p> widget state this source matches</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-get-state-wildcarded"></a><h3>gtk_icon_source_get_state_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_icon_source_get_state_wildcarded (<em class="parameter"><code>const <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_get_state_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Gets the value set by <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-state-wildcarded" title="gtk_icon_source_set_state_wildcarded ()"><code class="function">gtk_icon_source_set_state_wildcarded()</code></a>.</p>
<div class="refsect3">
<a name="gtk-icon-source-get-state-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-icon-source-get-state-wildcarded.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if this icon source is a base for any widget state variant</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-new"></a><h3>gtk_icon_source_new ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="returnvalue">GtkIconSource</span></a> *
gtk_icon_source_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_new</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Creates a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a>. A <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> contains a <span class="type">GdkPixbuf</span> (or
image filename) that serves as the base image for one or more of the
icons in a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>, along with a specification for which icons in the
icon set will be based on that pixbuf or image file. An icon set contains
a set of icons that represent “the same” logical concept in different states,
different global text directions, and different sizes.</p>
<p>So for example a web browser’s “Back to Previous Page” icon might
point in a different direction in Hebrew and in English; it might
look different when insensitive; and it might change size depending
on toolbar mode (small/large icons). So a single icon set would
contain all those variants of the icon. <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> contains a list
of <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> from which it can derive specific icon variants in
the set.</p>
<p>In the simplest case, <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> contains one source pixbuf from
which it derives all variants. The convenience function
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-new-from-pixbuf" title="gtk_icon_set_new_from_pixbuf ()"><code class="function">gtk_icon_set_new_from_pixbuf()</code></a> handles this case; if you only have
one source pixbuf, just use that function.</p>
<p>If you want to use a different base pixbuf for different icon
variants, you create multiple icon sources, mark which variants
they’ll be used to create, and add them to the icon set with
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-set-add-source" title="gtk_icon_set_add_source ()"><code class="function">gtk_icon_set_add_source()</code></a>.</p>
<p>By default, the icon source has all parameters wildcarded. That is,
the icon source will be used as the base icon for any desired text
direction, widget state, or icon size.</p>
<div class="refsect3">
<a name="gtk-icon-source-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-direction"></a><h3>gtk_icon_source_set_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_direction (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a> direction</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_direction</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets the text direction this icon source is intended to be used
with.</p>
<p>Setting the text direction on an icon source makes no difference
if the text direction is wildcarded. Therefore, you should usually
call <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-direction-wildcarded" title="gtk_icon_source_set_direction_wildcarded ()"><code class="function">gtk_icon_source_set_direction_wildcarded()</code></a> to un-wildcard it
in addition to calling this function.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-direction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description"><p>text direction this source applies to</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-direction-wildcarded"></a><h3>gtk_icon_source_set_direction_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_direction_wildcarded
                               (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> setting</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_direction_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>If the text direction is wildcarded, this source can be used
as the base image for an icon in any <a class="link" href="GtkWidget.html#GtkTextDirection" title="enum GtkTextDirection"><span class="type">GtkTextDirection</span></a>.
If the text direction is not wildcarded, then the
text direction the icon source applies to should be set
with <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-direction" title="gtk_icon_source_set_direction ()"><code class="function">gtk_icon_source_set_direction()</code></a>, and the icon source
will only be used with that text direction.</p>
<p><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-direction-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>setting</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> to wildcard the text direction</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-filename"></a><h3>gtk_icon_source_set_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_filename (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                              <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_filename</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets the name of an image file to use as a base image when creating
icon variants for <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>. The filename must be absolute.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>image file to use. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-pixbuf"></a><h3>gtk_icon_source_set_pixbuf ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_pixbuf (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                            <em class="parameter"><code><span class="type">GdkPixbuf</span> *pixbuf</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_pixbuf</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets a pixbuf to use as a base image when creating icon variants
for <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-pixbuf.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pixbuf</p></td>
<td class="parameter_description"><p>pixbuf to use as a source</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-icon-name"></a><h3>gtk_icon_source_set_icon_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_icon_name (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *icon_name</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_icon_name</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets the name of an icon to look up in the current icon theme
to use as a base image when creating icon variants for <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a>.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-icon-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>icon_name</p></td>
<td class="parameter_description"><p>name of icon to use. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-size"></a><h3>gtk_icon_source_set_size ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_size (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                          <em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a> size</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_size</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets the icon size this icon source is intended to be used
with.</p>
<p>Setting the icon size on an icon source makes no difference
if the size is wildcarded. Therefore, you should usually
call <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-size-wildcarded" title="gtk_icon_source_set_size_wildcarded ()"><code class="function">gtk_icon_source_set_size_wildcarded()</code></a> to un-wildcard it
in addition to calling this function.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>icon size (<a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSize" title="enum GtkIconSize"><span class="type">GtkIconSize</span></a>) this source applies to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> int]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-size-wildcarded"></a><h3>gtk_icon_source_set_size_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_size_wildcarded (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                                     <em class="parameter"><code><span class="type">gboolean</span> setting</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_size_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>If the icon size is wildcarded, this source can be used as the base
image for an icon of any size.  If the size is not wildcarded, then
the size the source applies to should be set with
<a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-size" title="gtk_icon_source_set_size ()"><code class="function">gtk_icon_source_set_size()</code></a> and the icon source will only be used
with that specific size.</p>
<p><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.</p>
<p><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> will normally scale wildcarded source images to produce
an appropriate icon at a given size, but will not change the size
of source images that match exactly.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-size-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>setting</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> to wildcard the widget state</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-state"></a><h3>gtk_icon_source_set_state ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_state (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                           <em class="parameter"><code><a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a> state</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_state</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>Sets the widget state this icon source is intended to be used
with.</p>
<p>Setting the widget state on an icon source makes no difference
if the state is wildcarded. Therefore, you should usually
call <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-state-wildcarded" title="gtk_icon_source_set_state_wildcarded ()"><code class="function">gtk_icon_source_set_state_wildcarded()</code></a> to un-wildcard it
in addition to calling this function.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-state.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>widget state this source applies to</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-icon-source-set-state-wildcarded"></a><h3>gtk_icon_source_set_state_wildcarded ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_icon_source_set_state_wildcarded (<em class="parameter"><code><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a> *source</code></em>,
                                      <em class="parameter"><code><span class="type">gboolean</span> setting</code></em>);</pre>
<div class="warning">
<p><code class="literal">gtk_icon_source_set_state_wildcarded</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="GtkIconTheme.html" title="GtkIconTheme"><span class="type">GtkIconTheme</span></a> instead.</p>
</div>
<p>If the widget state is wildcarded, this source can be used as the
base image for an icon in any <a class="link" href="GtkWidget.html#GtkStateType" title="enum GtkStateType"><span class="type">GtkStateType</span></a>.  If the widget state
is not wildcarded, then the state the source applies to should be
set with <a class="link" href="gtk3-Themeable-Stock-Images.html#gtk-icon-source-set-state" title="gtk_icon_source_set_state ()"><code class="function">gtk_icon_source_set_state()</code></a> and the icon source will
only be used with that specific state.</p>
<p><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.</p>
<p><a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSet"><span class="type">GtkIconSet</span></a> will normally transform wildcarded source images to
produce an appropriate icon for a given state, for example
lightening an image on prelight, but will not modify source images
that match exactly.</p>
<div class="refsect3">
<a name="gtk-icon-source-set-state-wildcarded.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconSource" title="GtkIconSource"><span class="type">GtkIconSource</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>setting</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> to wildcard the widget state</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gtk3-Themeable-Stock-Images.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkIconSource"></a><h3>GtkIconSource</h3>
<pre class="programlisting">typedef struct _GtkIconSource GtkIconSource;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkIconFactory-struct"></a><h3>struct GtkIconFactory</h3>
<pre class="programlisting">struct GtkIconFactory;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkIconFactoryClass"></a><h3>struct GtkIconFactoryClass</h3>
<pre class="programlisting">struct GtkIconFactoryClass {
  GObjectClass parent_class;
};
</pre>
<div class="refsect3">
<a name="GtkIconFactoryClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GtkIconSet-struct"></a><h3>GtkIconSet</h3>
<pre class="programlisting">typedef struct _GtkIconSet GtkIconSet;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkIconSize"></a><h3>enum GtkIconSize</h3>
<p>Built-in stock icon sizes.</p>
<div class="refsect3">
<a name="GtkIconSize.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-INVALID:CAPS"></a>GTK_ICON_SIZE_INVALID</p></td>
<td class="enum_member_description">
<p>Invalid size.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-MENU:CAPS"></a>GTK_ICON_SIZE_MENU</p></td>
<td class="enum_member_description">
<p>Size appropriate for menus (16px).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-SMALL-TOOLBAR:CAPS"></a>GTK_ICON_SIZE_SMALL_TOOLBAR</p></td>
<td class="enum_member_description">
<p>Size appropriate for small toolbars (16px).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-LARGE-TOOLBAR:CAPS"></a>GTK_ICON_SIZE_LARGE_TOOLBAR</p></td>
<td class="enum_member_description">
<p>Size appropriate for large toolbars (24px)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-BUTTON:CAPS"></a>GTK_ICON_SIZE_BUTTON</p></td>
<td class="enum_member_description">
<p>Size appropriate for buttons (16px)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-DND:CAPS"></a>GTK_ICON_SIZE_DND</p></td>
<td class="enum_member_description">
<p>Size appropriate for drag and drop (32px)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-ICON-SIZE-DIALOG:CAPS"></a>GTK_ICON_SIZE_DIALOG</p></td>
<td class="enum_member_description">
<p>Size appropriate for dialogs (48px)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>